package logic;

import gui.GridWindow;

/**
 * Questions (see exercise sheet for English version)
 * 
 * Frage 1: Warum ist es mögich das Wegproblem mit Moore zu lösen, obwohl das Kantengewicht 4 beträgt?
 * Es kommt nicht auf den konkreten Zahlenwert, sondern darauf, dass alle Kantengewichte gleich sind.
 * 
 * TODO: answer
 * 
 * Frage 2: Welchen Fehler hat ihr Kommilitone gemacht? Warum findet sein A*- Algorithmus keinen optimalen Weg?
 * Er hat keine geeignete Heuristik implementiert für Karten, auf denen Highways auftreten können.
 * Nach dem Hinweis ist für die Bestimmung des nächsten geeigneten Knotens das minimale Kantengewicht zu verwenden.
 * In seiner Welt wäre das 0 (nämlich das Gewicht eines Highways), er scheint jedoch einen anderen Wert gewählt zu haben.
 * 
 * TODO: answer
 * 
 * Frage 3: Wie hat ihr Kommilitone versucht das Problem zu lösen? Was ist dabei mit seinem 
 * A*- Algorithmus passiert? Was hätte er besser machen können? Diskutieren Sie mögliche Lösungsansätze!
 * Er hat versucht, den Gewichtungsfaktor seiner Heuristik zu verringern, um ein größeres Umfeld abzusuchen -
 * und dabei hoffentlich auf einen Highway zu stoßen. Dabei ist - wie auf dem Bild erkennbar -
 * sein Aufwand Dijkstra ähnlicher, also schlechter, geworden. Er muss eine Heuristik implementieren,
 * die *gezielt* Highways als mögliche Verkürzung des Weges zum Ziel berücksichtigt. Einen Verbund von Highways kann
 * man sich als Gruppe von Highway-Felder vorstellen, die alle die gleiche Distanz zum Startknoten besitzen.
 * Die Heuristik müsste also den Weg zum Highway finden und dann die Entfernung vom Knoten des Highways, der dem
 * Endknoten am nähesten ist, zum Endknoten bestimmen. Diese wäre eventuell dem direkten Luftweg vorzuziehen.
 *  
 * TODO: answer
 */

/**
 * provides functionality to interact with the application
 * 
 * @author Jakob Karolus, Kevin Munk
 * @version 1.0
 * 
 */
public class Main {

	public static void main(String[] args) {
		@SuppressWarnings("unused")
		GridWindow frame = new GridWindow();
	}

}
